package cn.whdream.mapper.sqlsqerver.ehaipost.dbo;

import static cn.whdream.mapper.sqlsqerver.ehaipost.dbo.BlockorderinfoDynamicSqlSupport.*;

import cn.whdream.test.entity.ehaipost.dbo.Blockorderinfo;
import java.util.List;
import javax.annotation.Generated;
import org.apache.ibatis.annotations.DeleteProvider;
import org.apache.ibatis.annotations.InsertProvider;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.annotations.SelectProvider;
import org.apache.ibatis.annotations.UpdateProvider;
import org.apache.ibatis.type.JdbcType;
import org.mybatis.dynamic.sql.SqlBuilder;
import org.mybatis.dynamic.sql.delete.DeleteDSL;
import org.mybatis.dynamic.sql.delete.MyBatis3DeleteModelAdapter;
import org.mybatis.dynamic.sql.delete.render.DeleteStatementProvider;
import org.mybatis.dynamic.sql.insert.render.InsertStatementProvider;
import org.mybatis.dynamic.sql.render.RenderingStrategy;
import org.mybatis.dynamic.sql.select.MyBatis3SelectModelAdapter;
import org.mybatis.dynamic.sql.select.QueryExpressionDSL;
import org.mybatis.dynamic.sql.select.SelectDSL;
import org.mybatis.dynamic.sql.select.render.SelectStatementProvider;
import org.mybatis.dynamic.sql.update.MyBatis3UpdateModelAdapter;
import org.mybatis.dynamic.sql.update.UpdateDSL;
import org.mybatis.dynamic.sql.update.render.UpdateStatementProvider;
import org.mybatis.dynamic.sql.util.SqlProviderAdapter;

@Mapper
public interface BlockorderinfoMapper {
    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    @SelectProvider(type=SqlProviderAdapter.class, method="select")
    long count(SelectStatementProvider selectStatement);

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    @DeleteProvider(type=SqlProviderAdapter.class, method="delete")
    int delete(DeleteStatementProvider deleteStatement);

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    @InsertProvider(type=SqlProviderAdapter.class, method="insert")
    int insert(InsertStatementProvider<Blockorderinfo> insertStatement);

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    @SelectProvider(type=SqlProviderAdapter.class, method="select")
    @Results(id="BlockorderinfoResult", value = {
        @Result(column="RefConfirmationNo", property="refconfirmationno", jdbcType=JdbcType.VARCHAR),
        @Result(column="TotalAmount", property="totalamount", jdbcType=JdbcType.DECIMAL),
        @Result(column="ContractId", property="contractid", jdbcType=JdbcType.INTEGER),
        @Result(column="CreateDate", property="createdate", jdbcType=JdbcType.TIMESTAMP),
        @Result(column="Creator", property="creator", jdbcType=JdbcType.VARCHAR),
        @Result(column="CarTypeID", property="cartypeid", jdbcType=JdbcType.INTEGER),
        @Result(column="IsReplaceCarType", property="isreplacecartype", jdbcType=JdbcType.BIT),
        @Result(column="FromDate", property="fromdate", jdbcType=JdbcType.TIMESTAMP),
        @Result(column="ToDate", property="todate", jdbcType=JdbcType.TIMESTAMP),
        @Result(column="CarUseAt", property="caruseat", jdbcType=JdbcType.VARCHAR),
        @Result(column="CreateYearMonth", property="createyearmonth", jdbcType=JdbcType.VARCHAR),
        @Result(column="OrderNo", property="orderno", jdbcType=JdbcType.VARCHAR),
        @Result(column="IsOutServicePickUp", property="isoutservicepickup", jdbcType=JdbcType.BIT),
        @Result(column="IsOutServiceReturn", property="isoutservicereturn", jdbcType=JdbcType.BIT),
        @Result(column="PickupStoreID", property="pickupstoreid", jdbcType=JdbcType.INTEGER),
        @Result(column="ReturnStoreID", property="returnstoreid", jdbcType=JdbcType.INTEGER),
        @Result(column="PickupAreaName", property="pickupareaname", jdbcType=JdbcType.VARCHAR),
        @Result(column="PickupAddress", property="pickupaddress", jdbcType=JdbcType.VARCHAR),
        @Result(column="ReturnAreaName", property="returnareaname", jdbcType=JdbcType.VARCHAR),
        @Result(column="ReturnAddress", property="returnaddress", jdbcType=JdbcType.VARCHAR),
        @Result(column="PickupAreaID", property="pickupareaid", jdbcType=JdbcType.INTEGER),
        @Result(column="ReturnAreaID", property="returnareaid", jdbcType=JdbcType.INTEGER),
        @Result(column="SplitFlag", property="splitflag", jdbcType=JdbcType.CHAR),
        @Result(column="AccountLogOn", property="accountlogon", jdbcType=JdbcType.VARCHAR),
        @Result(column="AccountID", property="accountid", jdbcType=JdbcType.VARCHAR),
        @Result(column="CarLisence", property="carlisence", jdbcType=JdbcType.VARCHAR),
        @Result(column="TakeCarName", property="takecarname", jdbcType=JdbcType.VARCHAR),
        @Result(column="TakeCarCellPhone", property="takecarcellphone", jdbcType=JdbcType.VARCHAR),
        @Result(column="TakeCarIdentityNo", property="takecaridentityno", jdbcType=JdbcType.VARCHAR),
        @Result(column="SalesSerialNo", property="salesserialno", jdbcType=JdbcType.VARCHAR),
        @Result(column="DriverNo", property="driverno", jdbcType=JdbcType.VARCHAR),
        @Result(column="ReturnStoreName", property="returnstorename", jdbcType=JdbcType.VARCHAR),
        @Result(column="PickupStoreName", property="pickupstorename", jdbcType=JdbcType.VARCHAR),
        @Result(column="ReturnCityName", property="returncityname", jdbcType=JdbcType.VARCHAR),
        @Result(column="PickupCityName", property="pickupcityname", jdbcType=JdbcType.VARCHAR),
        @Result(column="OrderStatus", property="orderstatus", jdbcType=JdbcType.CHAR),
        @Result(column="ActualSettlementStart", property="actualsettlementstart", jdbcType=JdbcType.TIMESTAMP),
        @Result(column="ActualSettlementEnd", property="actualsettlementend", jdbcType=JdbcType.TIMESTAMP),
        @Result(column="ActualUseStart", property="actualusestart", jdbcType=JdbcType.TIMESTAMP),
        @Result(column="ActualUseEnd", property="actualuseend", jdbcType=JdbcType.TIMESTAMP),
        @Result(column="CardType", property="cardtype", jdbcType=JdbcType.VARCHAR),
        @Result(column="ReplaceCarType", property="replacecartype", jdbcType=JdbcType.VARCHAR),
        @Result(column="OrderType", property="ordertype", jdbcType=JdbcType.INTEGER),
        @Result(column="ReturnDays", property="returndays", jdbcType=JdbcType.INTEGER),
        @Result(column="DriverSerivceAmount", property="driverserivceamount", jdbcType=JdbcType.DECIMAL),
        @Result(column="RentPreferentialFee", property="rentpreferentialfee", jdbcType=JdbcType.DECIMAL),
        @Result(column="RentPreferentialDemo", property="rentpreferentialdemo", jdbcType=JdbcType.VARCHAR),
        @Result(column="ForegiftAmount", property="foregiftamount", jdbcType=JdbcType.DECIMAL),
        @Result(column="IsJudgeStockpile", property="isjudgestockpile", jdbcType=JdbcType.BIT),
        @Result(column="IsUseStoreCar", property="isusestorecar", jdbcType=JdbcType.BIT),
        @Result(column="OldOrderNo", property="oldorderno", jdbcType=JdbcType.VARCHAR),
        @Result(column="LastUpdateTime", property="lastupdatetime", jdbcType=JdbcType.TIMESTAMP),
        @Result(column="DrDiscountAmount", property="drdiscountamount", jdbcType=JdbcType.DECIMAL),
        @Result(column="DrDiscountAmountDemo", property="drdiscountamountdemo", jdbcType=JdbcType.VARCHAR),
        @Result(column="OldDate", property="olddate", jdbcType=JdbcType.DATE),
        @Result(column="CheckStatus", property="checkstatus", jdbcType=JdbcType.INTEGER),
        @Result(column="IsAdvanceCustomer", property="isadvancecustomer", jdbcType=JdbcType.BIT),
        @Result(column="ActualSettlementDate", property="actualsettlementdate", jdbcType=JdbcType.INTEGER),
        @Result(column="ChannelOrderNo", property="channelorderno", jdbcType=JdbcType.VARCHAR),
        @Result(column="IsUploadSchedule", property="isuploadschedule", jdbcType=JdbcType.SMALLINT),
        @Result(column="EcCarId", property="eccarid", jdbcType=JdbcType.INTEGER),
        @Result(column="CarUseCity", property="carusecity", jdbcType=JdbcType.VARCHAR),
        @Result(column="CarUseCityId", property="carusecityid", jdbcType=JdbcType.INTEGER),
        @Result(column="CarGroupID", property="cargroupid", jdbcType=JdbcType.INTEGER),
        @Result(column="SettlementType", property="settlementtype", jdbcType=JdbcType.INTEGER),
        @Result(column="TakeCarEmail", property="takecaremail", jdbcType=JdbcType.VARCHAR),
        @Result(column="OrderSource", property="ordersource", jdbcType=JdbcType.INTEGER),
        @Result(column="UpdateSettDateCount", property="updatesettdatecount", jdbcType=JdbcType.INTEGER),
        @Result(column="ReletType", property="relettype", jdbcType=JdbcType.INTEGER),
        @Result(column="FollowUserNo", property="followuserno", jdbcType=JdbcType.VARCHAR),
        @Result(column="FollowUserName", property="followusername", jdbcType=JdbcType.VARCHAR),
        @Result(column="OrderStatusChangeComment", property="orderstatuschangecomment", jdbcType=JdbcType.VARCHAR),
        @Result(column="OrderStatusChangeCommentType", property="orderstatuschangecommenttype", jdbcType=JdbcType.INTEGER),
        @Result(column="Remark", property="remark", jdbcType=JdbcType.LONGVARCHAR)
    })
    List<Blockorderinfo> selectMany(SelectStatementProvider selectStatement);

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    @UpdateProvider(type=SqlProviderAdapter.class, method="update")
    int update(UpdateStatementProvider updateStatement);

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    default QueryExpressionDSL<MyBatis3SelectModelAdapter<Long>> countByExample() {
        return SelectDSL.selectWithMapper(this::count, SqlBuilder.count())
                .from(blockorderinfo);
    }

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    default DeleteDSL<MyBatis3DeleteModelAdapter<Integer>> deleteByExample() {
        return DeleteDSL.deleteFromWithMapper(this::delete, blockorderinfo);
    }

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    default int insert(Blockorderinfo record) {
        return insert(SqlBuilder.insert(record)
                .into(blockorderinfo)
                .map(refconfirmationno).toProperty("refconfirmationno")
                .map(totalamount).toProperty("totalamount")
                .map(contractid).toProperty("contractid")
                .map(createdate).toProperty("createdate")
                .map(creator).toProperty("creator")
                .map(cartypeid).toProperty("cartypeid")
                .map(isreplacecartype).toProperty("isreplacecartype")
                .map(fromdate).toProperty("fromdate")
                .map(todate).toProperty("todate")
                .map(caruseat).toProperty("caruseat")
                .map(createyearmonth).toProperty("createyearmonth")
                .map(orderno).toProperty("orderno")
                .map(isoutservicepickup).toProperty("isoutservicepickup")
                .map(isoutservicereturn).toProperty("isoutservicereturn")
                .map(pickupstoreid).toProperty("pickupstoreid")
                .map(returnstoreid).toProperty("returnstoreid")
                .map(pickupareaname).toProperty("pickupareaname")
                .map(pickupaddress).toProperty("pickupaddress")
                .map(returnareaname).toProperty("returnareaname")
                .map(returnaddress).toProperty("returnaddress")
                .map(pickupareaid).toProperty("pickupareaid")
                .map(returnareaid).toProperty("returnareaid")
                .map(splitflag).toProperty("splitflag")
                .map(accountlogon).toProperty("accountlogon")
                .map(accountid).toProperty("accountid")
                .map(carlisence).toProperty("carlisence")
                .map(takecarname).toProperty("takecarname")
                .map(takecarcellphone).toProperty("takecarcellphone")
                .map(takecaridentityno).toProperty("takecaridentityno")
                .map(salesserialno).toProperty("salesserialno")
                .map(driverno).toProperty("driverno")
                .map(returnstorename).toProperty("returnstorename")
                .map(pickupstorename).toProperty("pickupstorename")
                .map(returncityname).toProperty("returncityname")
                .map(pickupcityname).toProperty("pickupcityname")
                .map(orderstatus).toProperty("orderstatus")
                .map(actualsettlementstart).toProperty("actualsettlementstart")
                .map(actualsettlementend).toProperty("actualsettlementend")
                .map(actualusestart).toProperty("actualusestart")
                .map(actualuseend).toProperty("actualuseend")
                .map(cardtype).toProperty("cardtype")
                .map(replacecartype).toProperty("replacecartype")
                .map(ordertype).toProperty("ordertype")
                .map(returndays).toProperty("returndays")
                .map(driverserivceamount).toProperty("driverserivceamount")
                .map(rentpreferentialfee).toProperty("rentpreferentialfee")
                .map(rentpreferentialdemo).toProperty("rentpreferentialdemo")
                .map(foregiftamount).toProperty("foregiftamount")
                .map(isjudgestockpile).toProperty("isjudgestockpile")
                .map(isusestorecar).toProperty("isusestorecar")
                .map(oldorderno).toProperty("oldorderno")
                .map(lastupdatetime).toProperty("lastupdatetime")
                .map(drdiscountamount).toProperty("drdiscountamount")
                .map(drdiscountamountdemo).toProperty("drdiscountamountdemo")
                .map(olddate).toProperty("olddate")
                .map(checkstatus).toProperty("checkstatus")
                .map(isadvancecustomer).toProperty("isadvancecustomer")
                .map(actualsettlementdate).toProperty("actualsettlementdate")
                .map(channelorderno).toProperty("channelorderno")
                .map(isuploadschedule).toProperty("isuploadschedule")
                .map(eccarid).toProperty("eccarid")
                .map(carusecity).toProperty("carusecity")
                .map(carusecityid).toProperty("carusecityid")
                .map(cargroupid).toProperty("cargroupid")
                .map(settlementtype).toProperty("settlementtype")
                .map(takecaremail).toProperty("takecaremail")
                .map(ordersource).toProperty("ordersource")
                .map(updatesettdatecount).toProperty("updatesettdatecount")
                .map(relettype).toProperty("relettype")
                .map(followuserno).toProperty("followuserno")
                .map(followusername).toProperty("followusername")
                .map(orderstatuschangecomment).toProperty("orderstatuschangecomment")
                .map(orderstatuschangecommenttype).toProperty("orderstatuschangecommenttype")
                .map(remark).toProperty("remark")
                .build()
                .render(RenderingStrategy.MYBATIS3));
    }

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    default int insertSelective(Blockorderinfo record) {
        return insert(SqlBuilder.insert(record)
                .into(blockorderinfo)
                .map(refconfirmationno).toPropertyWhenPresent("refconfirmationno", record::getRefconfirmationno)
                .map(totalamount).toPropertyWhenPresent("totalamount", record::getTotalamount)
                .map(contractid).toPropertyWhenPresent("contractid", record::getContractid)
                .map(createdate).toPropertyWhenPresent("createdate", record::getCreatedate)
                .map(creator).toPropertyWhenPresent("creator", record::getCreator)
                .map(cartypeid).toPropertyWhenPresent("cartypeid", record::getCartypeid)
                .map(isreplacecartype).toPropertyWhenPresent("isreplacecartype", record::getIsreplacecartype)
                .map(fromdate).toPropertyWhenPresent("fromdate", record::getFromdate)
                .map(todate).toPropertyWhenPresent("todate", record::getTodate)
                .map(caruseat).toPropertyWhenPresent("caruseat", record::getCaruseat)
                .map(createyearmonth).toPropertyWhenPresent("createyearmonth", record::getCreateyearmonth)
                .map(orderno).toPropertyWhenPresent("orderno", record::getOrderno)
                .map(isoutservicepickup).toPropertyWhenPresent("isoutservicepickup", record::getIsoutservicepickup)
                .map(isoutservicereturn).toPropertyWhenPresent("isoutservicereturn", record::getIsoutservicereturn)
                .map(pickupstoreid).toPropertyWhenPresent("pickupstoreid", record::getPickupstoreid)
                .map(returnstoreid).toPropertyWhenPresent("returnstoreid", record::getReturnstoreid)
                .map(pickupareaname).toPropertyWhenPresent("pickupareaname", record::getPickupareaname)
                .map(pickupaddress).toPropertyWhenPresent("pickupaddress", record::getPickupaddress)
                .map(returnareaname).toPropertyWhenPresent("returnareaname", record::getReturnareaname)
                .map(returnaddress).toPropertyWhenPresent("returnaddress", record::getReturnaddress)
                .map(pickupareaid).toPropertyWhenPresent("pickupareaid", record::getPickupareaid)
                .map(returnareaid).toPropertyWhenPresent("returnareaid", record::getReturnareaid)
                .map(splitflag).toPropertyWhenPresent("splitflag", record::getSplitflag)
                .map(accountlogon).toPropertyWhenPresent("accountlogon", record::getAccountlogon)
                .map(accountid).toPropertyWhenPresent("accountid", record::getAccountid)
                .map(carlisence).toPropertyWhenPresent("carlisence", record::getCarlisence)
                .map(takecarname).toPropertyWhenPresent("takecarname", record::getTakecarname)
                .map(takecarcellphone).toPropertyWhenPresent("takecarcellphone", record::getTakecarcellphone)
                .map(takecaridentityno).toPropertyWhenPresent("takecaridentityno", record::getTakecaridentityno)
                .map(salesserialno).toPropertyWhenPresent("salesserialno", record::getSalesserialno)
                .map(driverno).toPropertyWhenPresent("driverno", record::getDriverno)
                .map(returnstorename).toPropertyWhenPresent("returnstorename", record::getReturnstorename)
                .map(pickupstorename).toPropertyWhenPresent("pickupstorename", record::getPickupstorename)
                .map(returncityname).toPropertyWhenPresent("returncityname", record::getReturncityname)
                .map(pickupcityname).toPropertyWhenPresent("pickupcityname", record::getPickupcityname)
                .map(orderstatus).toPropertyWhenPresent("orderstatus", record::getOrderstatus)
                .map(actualsettlementstart).toPropertyWhenPresent("actualsettlementstart", record::getActualsettlementstart)
                .map(actualsettlementend).toPropertyWhenPresent("actualsettlementend", record::getActualsettlementend)
                .map(actualusestart).toPropertyWhenPresent("actualusestart", record::getActualusestart)
                .map(actualuseend).toPropertyWhenPresent("actualuseend", record::getActualuseend)
                .map(cardtype).toPropertyWhenPresent("cardtype", record::getCardtype)
                .map(replacecartype).toPropertyWhenPresent("replacecartype", record::getReplacecartype)
                .map(ordertype).toPropertyWhenPresent("ordertype", record::getOrdertype)
                .map(returndays).toPropertyWhenPresent("returndays", record::getReturndays)
                .map(driverserivceamount).toPropertyWhenPresent("driverserivceamount", record::getDriverserivceamount)
                .map(rentpreferentialfee).toPropertyWhenPresent("rentpreferentialfee", record::getRentpreferentialfee)
                .map(rentpreferentialdemo).toPropertyWhenPresent("rentpreferentialdemo", record::getRentpreferentialdemo)
                .map(foregiftamount).toPropertyWhenPresent("foregiftamount", record::getForegiftamount)
                .map(isjudgestockpile).toPropertyWhenPresent("isjudgestockpile", record::getIsjudgestockpile)
                .map(isusestorecar).toPropertyWhenPresent("isusestorecar", record::getIsusestorecar)
                .map(oldorderno).toPropertyWhenPresent("oldorderno", record::getOldorderno)
                .map(lastupdatetime).toPropertyWhenPresent("lastupdatetime", record::getLastupdatetime)
                .map(drdiscountamount).toPropertyWhenPresent("drdiscountamount", record::getDrdiscountamount)
                .map(drdiscountamountdemo).toPropertyWhenPresent("drdiscountamountdemo", record::getDrdiscountamountdemo)
                .map(olddate).toPropertyWhenPresent("olddate", record::getOlddate)
                .map(checkstatus).toPropertyWhenPresent("checkstatus", record::getCheckstatus)
                .map(isadvancecustomer).toPropertyWhenPresent("isadvancecustomer", record::getIsadvancecustomer)
                .map(actualsettlementdate).toPropertyWhenPresent("actualsettlementdate", record::getActualsettlementdate)
                .map(channelorderno).toPropertyWhenPresent("channelorderno", record::getChannelorderno)
                .map(isuploadschedule).toPropertyWhenPresent("isuploadschedule", record::getIsuploadschedule)
                .map(eccarid).toPropertyWhenPresent("eccarid", record::getEccarid)
                .map(carusecity).toPropertyWhenPresent("carusecity", record::getCarusecity)
                .map(carusecityid).toPropertyWhenPresent("carusecityid", record::getCarusecityid)
                .map(cargroupid).toPropertyWhenPresent("cargroupid", record::getCargroupid)
                .map(settlementtype).toPropertyWhenPresent("settlementtype", record::getSettlementtype)
                .map(takecaremail).toPropertyWhenPresent("takecaremail", record::getTakecaremail)
                .map(ordersource).toPropertyWhenPresent("ordersource", record::getOrdersource)
                .map(updatesettdatecount).toPropertyWhenPresent("updatesettdatecount", record::getUpdatesettdatecount)
                .map(relettype).toPropertyWhenPresent("relettype", record::getRelettype)
                .map(followuserno).toPropertyWhenPresent("followuserno", record::getFollowuserno)
                .map(followusername).toPropertyWhenPresent("followusername", record::getFollowusername)
                .map(orderstatuschangecomment).toPropertyWhenPresent("orderstatuschangecomment", record::getOrderstatuschangecomment)
                .map(orderstatuschangecommenttype).toPropertyWhenPresent("orderstatuschangecommenttype", record::getOrderstatuschangecommenttype)
                .map(remark).toPropertyWhenPresent("remark", record::getRemark)
                .build()
                .render(RenderingStrategy.MYBATIS3));
    }

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    default QueryExpressionDSL<MyBatis3SelectModelAdapter<List<Blockorderinfo>>> selectByExample() {
        return SelectDSL.selectWithMapper(this::selectMany, refconfirmationno, totalamount, contractid, createdate, creator, cartypeid, isreplacecartype, fromdate, todate, caruseat, createyearmonth, orderno, isoutservicepickup, isoutservicereturn, pickupstoreid, returnstoreid, pickupareaname, pickupaddress, returnareaname, returnaddress, pickupareaid, returnareaid, splitflag, accountlogon, accountid, carlisence, takecarname, takecarcellphone, takecaridentityno, salesserialno, driverno, returnstorename, pickupstorename, returncityname, pickupcityname, orderstatus, actualsettlementstart, actualsettlementend, actualusestart, actualuseend, cardtype, replacecartype, ordertype, returndays, driverserivceamount, rentpreferentialfee, rentpreferentialdemo, foregiftamount, isjudgestockpile, isusestorecar, oldorderno, lastupdatetime, drdiscountamount, drdiscountamountdemo, olddate, checkstatus, isadvancecustomer, actualsettlementdate, channelorderno, isuploadschedule, eccarid, carusecity, carusecityid, cargroupid, settlementtype, takecaremail, ordersource, updatesettdatecount, relettype, followuserno, followusername, orderstatuschangecomment, orderstatuschangecommenttype, remark)
                .from(blockorderinfo);
    }

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    default QueryExpressionDSL<MyBatis3SelectModelAdapter<List<Blockorderinfo>>> selectDistinctByExample() {
        return SelectDSL.selectDistinctWithMapper(this::selectMany, refconfirmationno, totalamount, contractid, createdate, creator, cartypeid, isreplacecartype, fromdate, todate, caruseat, createyearmonth, orderno, isoutservicepickup, isoutservicereturn, pickupstoreid, returnstoreid, pickupareaname, pickupaddress, returnareaname, returnaddress, pickupareaid, returnareaid, splitflag, accountlogon, accountid, carlisence, takecarname, takecarcellphone, takecaridentityno, salesserialno, driverno, returnstorename, pickupstorename, returncityname, pickupcityname, orderstatus, actualsettlementstart, actualsettlementend, actualusestart, actualuseend, cardtype, replacecartype, ordertype, returndays, driverserivceamount, rentpreferentialfee, rentpreferentialdemo, foregiftamount, isjudgestockpile, isusestorecar, oldorderno, lastupdatetime, drdiscountamount, drdiscountamountdemo, olddate, checkstatus, isadvancecustomer, actualsettlementdate, channelorderno, isuploadschedule, eccarid, carusecity, carusecityid, cargroupid, settlementtype, takecaremail, ordersource, updatesettdatecount, relettype, followuserno, followusername, orderstatuschangecomment, orderstatuschangecommenttype, remark)
                .from(blockorderinfo);
    }

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    default UpdateDSL<MyBatis3UpdateModelAdapter<Integer>> updateByExample(Blockorderinfo record) {
        return UpdateDSL.updateWithMapper(this::update, blockorderinfo)
                .set(refconfirmationno).equalTo(record::getRefconfirmationno)
                .set(totalamount).equalTo(record::getTotalamount)
                .set(contractid).equalTo(record::getContractid)
                .set(createdate).equalTo(record::getCreatedate)
                .set(creator).equalTo(record::getCreator)
                .set(cartypeid).equalTo(record::getCartypeid)
                .set(isreplacecartype).equalTo(record::getIsreplacecartype)
                .set(fromdate).equalTo(record::getFromdate)
                .set(todate).equalTo(record::getTodate)
                .set(caruseat).equalTo(record::getCaruseat)
                .set(createyearmonth).equalTo(record::getCreateyearmonth)
                .set(orderno).equalTo(record::getOrderno)
                .set(isoutservicepickup).equalTo(record::getIsoutservicepickup)
                .set(isoutservicereturn).equalTo(record::getIsoutservicereturn)
                .set(pickupstoreid).equalTo(record::getPickupstoreid)
                .set(returnstoreid).equalTo(record::getReturnstoreid)
                .set(pickupareaname).equalTo(record::getPickupareaname)
                .set(pickupaddress).equalTo(record::getPickupaddress)
                .set(returnareaname).equalTo(record::getReturnareaname)
                .set(returnaddress).equalTo(record::getReturnaddress)
                .set(pickupareaid).equalTo(record::getPickupareaid)
                .set(returnareaid).equalTo(record::getReturnareaid)
                .set(splitflag).equalTo(record::getSplitflag)
                .set(accountlogon).equalTo(record::getAccountlogon)
                .set(accountid).equalTo(record::getAccountid)
                .set(carlisence).equalTo(record::getCarlisence)
                .set(takecarname).equalTo(record::getTakecarname)
                .set(takecarcellphone).equalTo(record::getTakecarcellphone)
                .set(takecaridentityno).equalTo(record::getTakecaridentityno)
                .set(salesserialno).equalTo(record::getSalesserialno)
                .set(driverno).equalTo(record::getDriverno)
                .set(returnstorename).equalTo(record::getReturnstorename)
                .set(pickupstorename).equalTo(record::getPickupstorename)
                .set(returncityname).equalTo(record::getReturncityname)
                .set(pickupcityname).equalTo(record::getPickupcityname)
                .set(orderstatus).equalTo(record::getOrderstatus)
                .set(actualsettlementstart).equalTo(record::getActualsettlementstart)
                .set(actualsettlementend).equalTo(record::getActualsettlementend)
                .set(actualusestart).equalTo(record::getActualusestart)
                .set(actualuseend).equalTo(record::getActualuseend)
                .set(cardtype).equalTo(record::getCardtype)
                .set(replacecartype).equalTo(record::getReplacecartype)
                .set(ordertype).equalTo(record::getOrdertype)
                .set(returndays).equalTo(record::getReturndays)
                .set(driverserivceamount).equalTo(record::getDriverserivceamount)
                .set(rentpreferentialfee).equalTo(record::getRentpreferentialfee)
                .set(rentpreferentialdemo).equalTo(record::getRentpreferentialdemo)
                .set(foregiftamount).equalTo(record::getForegiftamount)
                .set(isjudgestockpile).equalTo(record::getIsjudgestockpile)
                .set(isusestorecar).equalTo(record::getIsusestorecar)
                .set(oldorderno).equalTo(record::getOldorderno)
                .set(lastupdatetime).equalTo(record::getLastupdatetime)
                .set(drdiscountamount).equalTo(record::getDrdiscountamount)
                .set(drdiscountamountdemo).equalTo(record::getDrdiscountamountdemo)
                .set(olddate).equalTo(record::getOlddate)
                .set(checkstatus).equalTo(record::getCheckstatus)
                .set(isadvancecustomer).equalTo(record::getIsadvancecustomer)
                .set(actualsettlementdate).equalTo(record::getActualsettlementdate)
                .set(channelorderno).equalTo(record::getChannelorderno)
                .set(isuploadschedule).equalTo(record::getIsuploadschedule)
                .set(eccarid).equalTo(record::getEccarid)
                .set(carusecity).equalTo(record::getCarusecity)
                .set(carusecityid).equalTo(record::getCarusecityid)
                .set(cargroupid).equalTo(record::getCargroupid)
                .set(settlementtype).equalTo(record::getSettlementtype)
                .set(takecaremail).equalTo(record::getTakecaremail)
                .set(ordersource).equalTo(record::getOrdersource)
                .set(updatesettdatecount).equalTo(record::getUpdatesettdatecount)
                .set(relettype).equalTo(record::getRelettype)
                .set(followuserno).equalTo(record::getFollowuserno)
                .set(followusername).equalTo(record::getFollowusername)
                .set(orderstatuschangecomment).equalTo(record::getOrderstatuschangecomment)
                .set(orderstatuschangecommenttype).equalTo(record::getOrderstatuschangecommenttype)
                .set(remark).equalTo(record::getRemark);
    }

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    default UpdateDSL<MyBatis3UpdateModelAdapter<Integer>> updateByExampleSelective(Blockorderinfo record) {
        return UpdateDSL.updateWithMapper(this::update, blockorderinfo)
                .set(refconfirmationno).equalToWhenPresent(record::getRefconfirmationno)
                .set(totalamount).equalToWhenPresent(record::getTotalamount)
                .set(contractid).equalToWhenPresent(record::getContractid)
                .set(createdate).equalToWhenPresent(record::getCreatedate)
                .set(creator).equalToWhenPresent(record::getCreator)
                .set(cartypeid).equalToWhenPresent(record::getCartypeid)
                .set(isreplacecartype).equalToWhenPresent(record::getIsreplacecartype)
                .set(fromdate).equalToWhenPresent(record::getFromdate)
                .set(todate).equalToWhenPresent(record::getTodate)
                .set(caruseat).equalToWhenPresent(record::getCaruseat)
                .set(createyearmonth).equalToWhenPresent(record::getCreateyearmonth)
                .set(orderno).equalToWhenPresent(record::getOrderno)
                .set(isoutservicepickup).equalToWhenPresent(record::getIsoutservicepickup)
                .set(isoutservicereturn).equalToWhenPresent(record::getIsoutservicereturn)
                .set(pickupstoreid).equalToWhenPresent(record::getPickupstoreid)
                .set(returnstoreid).equalToWhenPresent(record::getReturnstoreid)
                .set(pickupareaname).equalToWhenPresent(record::getPickupareaname)
                .set(pickupaddress).equalToWhenPresent(record::getPickupaddress)
                .set(returnareaname).equalToWhenPresent(record::getReturnareaname)
                .set(returnaddress).equalToWhenPresent(record::getReturnaddress)
                .set(pickupareaid).equalToWhenPresent(record::getPickupareaid)
                .set(returnareaid).equalToWhenPresent(record::getReturnareaid)
                .set(splitflag).equalToWhenPresent(record::getSplitflag)
                .set(accountlogon).equalToWhenPresent(record::getAccountlogon)
                .set(accountid).equalToWhenPresent(record::getAccountid)
                .set(carlisence).equalToWhenPresent(record::getCarlisence)
                .set(takecarname).equalToWhenPresent(record::getTakecarname)
                .set(takecarcellphone).equalToWhenPresent(record::getTakecarcellphone)
                .set(takecaridentityno).equalToWhenPresent(record::getTakecaridentityno)
                .set(salesserialno).equalToWhenPresent(record::getSalesserialno)
                .set(driverno).equalToWhenPresent(record::getDriverno)
                .set(returnstorename).equalToWhenPresent(record::getReturnstorename)
                .set(pickupstorename).equalToWhenPresent(record::getPickupstorename)
                .set(returncityname).equalToWhenPresent(record::getReturncityname)
                .set(pickupcityname).equalToWhenPresent(record::getPickupcityname)
                .set(orderstatus).equalToWhenPresent(record::getOrderstatus)
                .set(actualsettlementstart).equalToWhenPresent(record::getActualsettlementstart)
                .set(actualsettlementend).equalToWhenPresent(record::getActualsettlementend)
                .set(actualusestart).equalToWhenPresent(record::getActualusestart)
                .set(actualuseend).equalToWhenPresent(record::getActualuseend)
                .set(cardtype).equalToWhenPresent(record::getCardtype)
                .set(replacecartype).equalToWhenPresent(record::getReplacecartype)
                .set(ordertype).equalToWhenPresent(record::getOrdertype)
                .set(returndays).equalToWhenPresent(record::getReturndays)
                .set(driverserivceamount).equalToWhenPresent(record::getDriverserivceamount)
                .set(rentpreferentialfee).equalToWhenPresent(record::getRentpreferentialfee)
                .set(rentpreferentialdemo).equalToWhenPresent(record::getRentpreferentialdemo)
                .set(foregiftamount).equalToWhenPresent(record::getForegiftamount)
                .set(isjudgestockpile).equalToWhenPresent(record::getIsjudgestockpile)
                .set(isusestorecar).equalToWhenPresent(record::getIsusestorecar)
                .set(oldorderno).equalToWhenPresent(record::getOldorderno)
                .set(lastupdatetime).equalToWhenPresent(record::getLastupdatetime)
                .set(drdiscountamount).equalToWhenPresent(record::getDrdiscountamount)
                .set(drdiscountamountdemo).equalToWhenPresent(record::getDrdiscountamountdemo)
                .set(olddate).equalToWhenPresent(record::getOlddate)
                .set(checkstatus).equalToWhenPresent(record::getCheckstatus)
                .set(isadvancecustomer).equalToWhenPresent(record::getIsadvancecustomer)
                .set(actualsettlementdate).equalToWhenPresent(record::getActualsettlementdate)
                .set(channelorderno).equalToWhenPresent(record::getChannelorderno)
                .set(isuploadschedule).equalToWhenPresent(record::getIsuploadschedule)
                .set(eccarid).equalToWhenPresent(record::getEccarid)
                .set(carusecity).equalToWhenPresent(record::getCarusecity)
                .set(carusecityid).equalToWhenPresent(record::getCarusecityid)
                .set(cargroupid).equalToWhenPresent(record::getCargroupid)
                .set(settlementtype).equalToWhenPresent(record::getSettlementtype)
                .set(takecaremail).equalToWhenPresent(record::getTakecaremail)
                .set(ordersource).equalToWhenPresent(record::getOrdersource)
                .set(updatesettdatecount).equalToWhenPresent(record::getUpdatesettdatecount)
                .set(relettype).equalToWhenPresent(record::getRelettype)
                .set(followuserno).equalToWhenPresent(record::getFollowuserno)
                .set(followusername).equalToWhenPresent(record::getFollowusername)
                .set(orderstatuschangecomment).equalToWhenPresent(record::getOrderstatuschangecomment)
                .set(orderstatuschangecommenttype).equalToWhenPresent(record::getOrderstatuschangecommenttype)
                .set(remark).equalToWhenPresent(record::getRemark);
    }
}